blitzmaxfandomcom-20200214-history
Modules
Modules provide packages of additional functionality for BlitzMax. Modules are stored in the mod folder within your BlitzMax installation directory. The entire base of BlitzMax is provided by modules (all managed by Blitz Research Limited (BRL)). This section documents not only the official modules by BRL, but also popular third party modules. Modules can be native BlitzMax code, or code in one of the following languages: C, C++, ObjectiveC, or Assembly. Fasm is used to compile x86 assembly, GNU Build Tools for the other languages. =Import and Framework= You can control which modules are compiled with your program by using Import and Framework. By default all modules from scopes BRL and Pub are imported. If you specify some module with Framework, only that module and ones it imports are compiled with your code. You can then import additional modules using Import. Common framework modules are BRL.Basic and BRL.Max2D, for console and 2d applications, respectively. Example code: Framework BRL.Basic ' Enough for simple console applications Import BRL.Random ' BRL.Basic imports BRL.Random, so to use the Rand function we do not need to import BRL.Random (but it wont hurt) Print(Rand(1, 10)) Or in a more module-specific way: Framework BRL.Blitz ' This module is the base for everything, and does not import other modules Import BRL.StandardIO ' This module is needed for Print Import BRL.Random ' This module is needed for Rand Print(Rand(1, 10)) =List of modscopes= Official * BRL - BRL's main modules * MaxGUI - BRL's MaxGUI modules * Pub - BRL's public modules Third Party * BaH - Brucey's main modules * wxMax - Brucey's wxMax module group * Koriolis - Koriolis' modules =List of modules= All modules are cross-platform and freely available unless otherwise noted. Audio * BRL :* Audio :* AudioSample * Pub :* OpenAL :* FreeAudio :* OGGVorbis * BaH :* BASS :* BASS_FX :* FMOD :* irrKlang :* GME :* GMEBASS :* GMEOpenAL :* TagLib Audio Drivers * BRL :* DirectSoundAudio :* FreeAudioAudio :* OpenALAudio * BaH :* FMODAudio :* irrKlangAudio Audio loaders * BRL :* OGGLoader :* WAVLoader BASIC * BRL :* Basic :* Retro :* Random * BaH :* Random Collections * BRL :* LinkedList :* Map Communication * BaH :* Interprocess Cryptology * BaH :* Base64 :* Crypto Data * BRL :* Bank * Pub :* ZLib Database * BaH :* Database :* DBMySQL :* DBODBC :* DBOracle :* DBPostgreSQL :* DBXbase :* DBSQLite Events * BRL :* Event :* EventQueue :* Hook Fonts * BRL :* Font :* FreeTypeFont * Pub :* FreeType Graphics * BRL :* Max2D :* GLMax2D :* D3D7Max2D :* Graphics :* GLGraphics :* DXGraphics * Pub :* OpenGL :* DirectX :* Glew * BaH :* Cairo :* Graphviz :* GraphvizMax2D :* libtcod GUI * MaxGUI (non-free) :* MaxGUI (non-free) :* Drivers (non-free) :* Win32MaxGUIEx (non-free) :* FLTKMaxGUI (non-free) :* CocoaMaxGUI (non-free) :* ProxyGadgets (non-free) * BaH :* GTKMaxGUI (requires MaxGUI) :* GTKWebGTKHTML (requires MaxGUI) :* GTKWebMozilla (requires MaxGUI) Imagery * BRL :* Pixmap * Pub :* LibPNG :* LibJPEG * BaH :* FreeImage :* Magick :* GDAL Image loaders * BRL :* BMPLoader :* PNGLoader :* JPGLoader :* TGALoader Internet * BaH :* ClearSilver :* Flickcurl :* FTPParser :* libcurl :* libcurlssl :* libssh2 :* Raptor Mathematics * BRL :* Math * BaH :* MAPM :* MathToolkit :* muParser :* Rational Miscellaneous * BaH :* UniMotion (MacOS only) Networking * BRL :* Socket :* GNet * Pub :* ENet * BaH :* RakNet :* RakNetRooms :* RakNetVoice :* RakNetVoiceFMOD Physics * BaH :* Box2D :* Chipmunk Scripting * BRL :* MaxLua * Pub :* Lua Streams * BRL :* Stream :* BankStream :* EndianStream :* HTTPStream :* RAMStream :* SocketStream :* TextStream System * BRL :* Blitz :* AppStub :* Threads :* MaxUtil :* System :* FileSystem :* StandardIO :* Reflection * Pub :* StdC :* FreeProcess * BaH :* AppStub :* Boost :* Curses :* Growl (MacOS only) :* libusb :* MaxUnit :* Persistence :* Volumes Text * BaH :* Expat :* Format :* Locale :* RegEx :* RTL :* Tesseract :* XLWriter :* LibXml :* Libxslt Time * BRL :* Timer * BaH :* DateTime User Input * BRL :* KeyCodes :* PolledInput Video * BaH :* AVBin Operating System * Pub :* MacOS :* Win32